package com.beehoo.dcportal.admin.dao;

import java.util.List;
import java.util.Map;

import com.beehoo.dcportal.common.base.BaseException;
import com.beehoo.dcportal.model.MessageBean;
import com.beehoo.dcportal.model.RejectBean;

public interface MessageDao {

	/**
	 * 创建信息
	 * 
	 * @param messageBean
	 * @return
	 * @throws BaseException
	 */
	public String createMessage(MessageBean messageBean) throws BaseException;

	/**
	 * 查询信息列表
	 * 
	 * @param paramMap
	 * @return
	 * @throws BaseException
	 */
	public List<MessageBean> queryMessageForList(Map<String, Object> paramMap)
			throws BaseException;

	/**
	 * 查询信息列表总数
	 * 
	 * @param paramMap
	 * @return
	 * @throws BaseException
	 */
	public int queryMessageCount(Map<String, Object> paramMap)
			throws BaseException;

	/**
	 * 查询信息详细
	 * 
	 * @param paramMap
	 * @return
	 * @throws BaseException
	 */
	public MessageBean queryMessageDetail(Map<String, Object> paramMap)
			throws BaseException;

	/**
	 * 更新信息
	 * 
	 * @param messageBean
	 * @return
	 * @throws BaseException
	 */
	public int updateMessage(MessageBean messageBean) throws BaseException;

	/**
	 * 删除信息
	 * 
	 * @param msgId
	 * @return
	 * @throws BaseException
	 */
	public int delMessage(String msgId) throws BaseException;

	/**
	 * 审核信息
	 * 
	 * @param paramMap
	 * @return
	 * @throws BaseException
	 */
	public int auditMessage(MessageBean messageBean) throws BaseException;

	/**
	 * 创建驳回信息
	 * 
	 * @param rejectBean
	 * @return
	 * @throws BaseException
	 */
	public String createReject(RejectBean rejectBean) throws BaseException;
	
	/**
	 * 查询驳回原因
	 * @param msgId
	 * @return
	 * @throws BaseException
	 */
	public List<RejectBean> queryRejects(String msgId) throws BaseException;
}
